// 二叉树
// 树的度最多为2的树 就是最多2个叉
// 二叉树的根节点A
// 子节点：某个节点下面的节点

//完全二叉树
// 国内
// 1.叶子节点都在最后一层或倒数第二层
//  2. 叶子节点都向左聚拢
// 国际
// 1.叶子节点都在最后一层或倒数第二层 
// 2.如果有叶子节点，必然有两个叶子节点
function Node(value) {
  this.value = value;
  this.left = null
  this.right = null
}

var a = new Node("a");
var b = new Node("b");
var c = new Node("c");
var d = new Node("d");
var e = new Node("e");
var f = new Node("f");
var g = new Node("g");
var h = new Node("h");
a.left = b
a.right = c;
b.left = e;
b.right = f;

console.log(a)
// 满二叉树
// 1. 所有的叶子节点都在最底层
// 2. 每个非叶子点 都只能有 两个子节点
// a.left = b
// a.right = c;
// // a.neighbor.push(f);
// b.left = e;
// b.right = f;
//  c.left = g
// c.left = h


//二叉树中子树的概念
// 在二叉树中 每个节点都认为自己是根节点
// 子树： 二叉树，每个节点或叶子接待你都是一颗子树的根节点

//左子树 对于a 来说 left指向 b 则 b相对a来说  是左子树

//右子树 同理 c 就是右节点